home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #ifndef _VIDEODEV_H
- #define _VIDEODEV_H
-
- #include <vl/vl.h>
- #include <movie.h>
-
- class Video
- {
- public:
- Video();
- ~Video();
- void getBuffer();
- int hasVideo() {return _hasVideo;}
- int getWidth() {return _width;}
- int getHeight() {return _height;}
- int getSize() {return _frameSize;}
- MVid getID() {return _movieID;}
- void setID(MVid m) {_movieID = m;}
- int getState() {return _state;}
- void setState(int s) {_state = s;}
- void freeBuffer();
-
- protected:
- VLServer _server;
- VLNode _src, _drn, _mem;
- VLPath _path;
- VLBuffer _buf;
- VLInfoPtr _info;
- uint _frameSize;
- int _height, _width;
- char _hasVideo;
- MVid _movieID;
- int _state;
- };
-
-
- class VideoOut : public Video
- {
- public:
- VideoOut();
- ~VideoOut();
- void loadFrame(int, int, void *);
- void nextFrame(void *buf) { loadFrame( _width, _height, buf);}
- };
-
- class VideoIn : public Video
- {
- public:
- VideoIn(int divisor = 1, int devicenum = -1, int isRGB = TRUE);
- ~VideoIn();
- void loadFrame(int, int, void *);
- void nextFrame(void *buf) { loadFrame( _width, _height, buf);}
- };
-
- #endif
-